﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using LogicaNegocio;
using DAO;

namespace Minutero
{
    public partial class AsignacionTipoReunion : Form
    {
        Menu fm;
        Proyecto proyecto;
        public AsignacionTipoReunion()
        {
            InitializeComponent();
            CargaListaProyecto();
            CargarListaTipoReuniones();
            //DataTable dt = Gestor.leoTabla("TipoReunion"); // o usar ObtenerDatosTipoReunion();
            //foreach (DataRow row in dt.Rows)
            //{
            //    ListViewItem item = new ListViewItem(Convert.ToString(row["id_tipo_reunion"]));
            //    item.SubItems.Add(Convert.ToString(row["nombre_tipo_reunion"]));
            //    item.SubItems.Add(Convert.ToString(row["descripcion_tipo_reunion"]));
            //    lswTipoReunion.Items.Add(item);  
            //}
        }
        public AsignacionTipoReunion(Menu menu, Proyecto p)
        {
            fm = menu;
            InitializeComponent();
            proyecto = p;
            CargaListaProyecto();
            CargarListaTipoReuniones();
            
            //DataTable dt = Gestor.leoTabla("TipoReunion"); // o usar ObtenerDatosTipoReunion();
            //foreach (DataRow row in dt.Rows)
            //{
            //    ListViewItem item = new ListViewItem(Convert.ToString(row["id_tipo_reunion"]));
            //    item.SubItems.Add(Convert.ToString(row["nombre_tipo_reunion"]));
            //    item.SubItems.Add(Convert.ToString(row["descripcion_tipo_reunion"]));
            //    lswTipoReunion.Items.Add(item);
            //}
        }
        private void btnAgregar_Click(object sender, EventArgs e)
        {
            int reunion;
            reunion = int.Parse(dgvTipos[0, dgvTipos.CurrentCellAddress.Y].Value.ToString());
            Gestor.AgregarTipoReunionAProyecto(proyecto, reunion);
            CargaListaProyecto();
            CargarListaTipoReuniones();
            //dgvProyecto.Update();
            //dgvProyecto.Refresh();
            //foreach (ListViewItem item in lswTipoReunion.SelectedItems)
            //{
            //    lswTipoReunion.Items.Remove(item);
            //    lswProyecto.Items.Add(item);
            //}
        }

        private void btnQuitar_Click(object sender, EventArgs e)
        {
            int reunion;
            reunion = int.Parse(dgvProyecto[0, dgvProyecto.CurrentCellAddress.Y].Value.ToString());
            Gestor.QuitarTipoReunionAProyecto(proyecto, reunion);
            CargaListaProyecto();
            CargarListaTipoReuniones();
            //dgvProyecto.Update();
            //dgvProyecto.Refresh();
            //foreach (ListViewItem item in lswProyecto.SelectedItems)
            //{
            //    lswProyecto.Items.Remove(item);
            //    lswTipoReunion.Items.Add(item);
            //}
        }

        private void btnConfirmar_Click(object sender, EventArgs e)
        {
            MessageBox.Show("Tipos de reunion asignados con exito");
            this.Close();
            fm.Show();
            //List<Int32> tipoR = new List<int>();
            //foreach (ListViewItem item in lswProyecto.Items)
            //{
            //    var tr = lswProyecto.Items["id_tipo_reunion"];
            //    tipoR.Add(Convert.ToInt32(tr));
            //}
            //Gestor.AsignarTipoReunionAProyecto(proyecto, tipoR);
            // se deberia tomar los ids de reunion que se obtuvieron y con el id de proyecto 
            //que vamos a tener que tenerlo guardado en algun lado oculto, mandarselo a un metodo 
            //en el Gestor que ejecute el insert en la tabla de TipoReunionPorProyecto

        }
        private void CargaListaProyecto()
        {
            DataTable dt = Gestor.ReuinionesPorProyecto(proyecto);
            dgvProyecto.DataSource = dt;
            //dgvProyecto.Refresh();
            //lswProyecto.Clear();

            //foreach (DataRow row in dt.Rows)
            //{
            //    ListViewItem item = new ListViewItem(Convert.ToString(row["id_tipo_reunion"]));
            //    item.SubItems.Add(Convert.ToString(row["nombre_tipo_reunion"]));
            //    item.SubItems.Add(Convert.ToString(row["descripcion_tipo_reunion"]));
            //    lswProyecto.Items.Add(item);
            //}
        }
        private void CargarListaTipoReuniones()
        {
            DataTable dt = Gestor.TipoReunionNoProyecto(proyecto);
            dgvTipos.DataSource = dt;
            //dgvTipos.Refresh();
            //lswTipoReunion.Clear();
            //foreach (DataRow row in dt.Rows)
            //{
            //    ListViewItem item = new ListViewItem(Convert.ToString(row["id_tipo_reunion"]));
            //    item.SubItems.Add(Convert.ToString(row["nombre_tipo_reunion"]));
            //    item.SubItems.Add(Convert.ToString(row["descripcion_tipo_reunion"]));
            //    lswTipoReunion.Items.Add(item);
            //}
            
        }

        private void AsignacionTipoReunion_Load(object sender, EventArgs e)
        {
            if (proyecto == null)
            {
                btnAgregar.Enabled = false;
                btnQuitar.Enabled = false;
            }
        }

        private void AsignacionTipoReunion_VisibleChanged(object sender, EventArgs e)
        {
            if (proyecto == null)
            {
                btnAgregar.Enabled = false;
                btnQuitar.Enabled = false;
            }
        }
    }
}
